import java.util.Arrays;
import java.util.Scanner;

/**
 * Created whit IntelliJ IDEA.
 * Description：
 * User：ZHONGCHEN
 * Date:2022-03-28
 * Time:10:06
 */
public class TestDemo {
    //2028. 找出缺失的观测数据
    public int[] missingRolls(int[] rolls, int mean, int n) {
        int[] ans = new int[n];
        int m = rolls.length;
        int sum = (m + n) * mean;
        int rollsSum = rollsSum(rolls);
        int nSum = sum - rollsSum;
        int avg = nSum / n;
        if (avg < 1 || avg > 6) {
            return new int[0];
        }
        Arrays.fill(ans, avg);
        if (avg * n < nSum) {
            int tmp = nSum - avg * n;
            for (int i = 0; i < tmp; i++) {
                ans[i] += 1;
                if (avg < 1 || avg > 6) {
                    return new int[0];
                }
            }
        }
        return ans;
    }
    
    //693. 交替位二进制数
    //当给定值 n 为交替位二进制数时，将 n 右移一位得到的值 m 仍为交替位二进制数，
    // 且与原数 n 错开一位，两者异或能够得到形如 0000...1111的结果 x，
    // 此时对 x执行加法（进位操作）能够得到形如 0000...10000 的结果，将该结果与 x 执行按位能够得到全 0 结果。
    public static boolean hasAlternatingBits(int n) {
        int x = n ^ (n >> 1);
        return (x & (x + 1)) == 0;
    }

    private int rollsSum(int[] rolls) {
        int sum = 0;
        for (int a : rolls) {
            sum += a;
        }
        return sum;
    }
    public static void main1(String[] args) {
        System.out.println(hasAlternatingBits(10));
    }

    //分解质因数
    public static void main (String[] args) {
        Scanner scanner = new Scanner(System.in);
        StringBuilder str = new StringBuilder();
        while (scanner.hasNext()) {
            int num = scanner.nextInt();
            str.append(num + " " + "=");
            for (int i = 2; i <= Math.sqrt(num); i++) {
                while (num != i) { //如果能分解出i，则一直分解出i，直到不能再分解，这样可以避免分解出i的倍数（i的倍数一定是合数）
                    if (num % i == 0) {
                        str.append(" " + i + " " + "*");
                        num /= i;
                    } else {
                        break;
                    }
                }
            }
            //因为格式的原因最后一个数之后不能输出*了，需要单独输出
            str.append(" "+num);
            System.out.println(str.toString());
            str = new StringBuilder();
        }
    }
}
